using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using LESLogica;

public partial class cadastroAvaliador : System.Web.UI.Page
{

    SUsuario usuario;

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            this.TabContainer1.ActiveTabIndex = 1;
            this.usuario = (SUsuario)Session["usuarioParaCadastrar"];
            this.TextBoxLogin.Text = usuario.nome;
        }
        catch (Exception)
        {
            Response.Redirect("cadastroUsuarios.aspx");
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        this.cadastrar();
    }

    private void cadastrar()
    {
        if (!(ValidadorEmail.validar(this.TextBoxEmail.Text)))
        {
            this.LabelValidadeEmail.Visible = true;
        }
        if(!(ValidadorNumerico.validar(this.TextBoxTelefoneDDD.Text, 99)) || !(ValidadorNumerico.validar(this.TextBoxTelefone1.Text, 9999))
            || !(ValidadorNumerico.validar(this.TextBoxTelefone2.Text, 9999)) ) {
                this.LabelValidadeTelefone.Visible = true;
        }
        if(ValidadorEmail.validar(this.TextBoxEmail.Text) && ValidadorNumerico.validar(this.TextBoxTelefoneDDD.Text, 99)
            && ValidadorNumerico.validar(this.TextBoxTelefone1.Text, 9999) && ValidadorNumerico.validar(this.TextBoxTelefone2.Text, 9999)) {

            this.LabelValidadeEmail.Visible = false;
            this.LabelValidadeTelefone.Visible = false;
            FacadeService service = new FacadeService();
            string nomeAvaliador = this.TextBoxNome.Text;
            this.LabelConfirmacao.ForeColor = System.Drawing.Color.Black;
            this.LabelConfirmacao.Text = "Avaliador '" + nomeAvaliador + "' cadastrado com sucesso";
            this.TextBoxNome.Text = "";
            try
            {
                service.CrieUsuario(this.usuario.nome, this.usuario.senha, this.usuario.tipo);
                service.CriaAvaliador(nomeAvaliador, this.TextBoxEmail.Text, "(" + this.TextBoxTelefoneDDD.Text + ")" + 
                    this.TextBoxTelefone1.Text + "-" + this.TextBoxTelefone2.Text, this.TextBoxLogin.Text);
            }
            catch (Exception exc)
            {
                this.LabelConfirmacao.ForeColor = System.Drawing.Color.Red;
                this.LabelConfirmacao.Text = exc.Message;
            }
        }
    }
}
